<?php

use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request;

define('LARAVEL_START', microtime(true));

/*
|--------------------------------------------------------------------------
| 检查应用程序是否正在维护
|--------------------------------------------------------------------------
|
| 如果应用程序通过“down”命令处于维护/演示模式，我们将需要此文件，以便可以显示任何预渲染的模板而不是启动框架，这可能会导致异常。
|
*/

if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {
    require __DIR__.'/../storage/framework/maintenance.php';
}

/*
|--------------------------------------------------------------------------
| 注册自动加载器
|--------------------------------------------------------------------------
|
| Composer为此应用程序提供了一个方便的，自动生成的类加载器。
| 我们只需要利用它！我们只需要在这里将其添加到脚本中即可，因此我们不需要手动加载类。
*/

require __DIR__.'/../vendor/autoload.php';

/*
|--------------------------------------------------------------------------
| 运行应用程序
|--------------------------------------------------------------------------
|
| 有了应用程序后，就可以使用应用程序的HTTP内核处理传入的请求。
| 然后，我们会将响应发送回该客户端的浏览器，使他们可以使用我们的应用程序。
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

$kernel = $app->make(Kernel::class);

$response = tap($kernel->handle(
    $request = Request::capture()
))->send();

$kernel->terminate($request, $response);
